package cn.stronglink.asset.module.dam.utils.factorys.req;

import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSON;

import cn.stronglink.asset.module.dam.entity.dev.AssetInfo;
import cn.stronglink.asset.module.dam.entity.message.MsgScreenCommand;
import cn.stronglink.asset.module.dam.utils.dataJsonUtils.EmptyUtil;
import cn.stronglink.asset.module.dam.utils.dataJsonUtils.realtime.send.MsgSendUtil;
import cn.stronglink.asset.module.dam.utils.dataJsonUtils.realtime.send.SendUtil;
import cn.stronglink.asset.module.dam.utils.dataJsonUtils.req.send.OpenViewUtil;
import cn.stronglink.asset.module.dam.utils.dataJsonUtils.req.send.TestCmdFormatUtil;
import cn.stronglink.asset.module.dam.utils.factorys.realtime.common.FactoryDatas;
import cn.stronglink.asset.module.dam.utils.factorys.realtime.common.FactoryFooter;
import cn.stronglink.asset.module.dam.utils.factorys.realtime.common.FactoryHead;

public class Factory3AssetInfo {
	public static void open3AssertInfo(MsgScreenCommand bm,List<AssetInfo>  info) {
		String msg=getAssetListInfo(info);// 获取机柜信息
		
		bm.getAwsPostdata().setCommand(msg);
		
		//测试： 命令间隔一个空格
		TestCmdFormatUtil.changeAndPrint(msg);
		MsgSendUtil.sendMsg(OpenViewUtil.topic, JSON.toJSONString(bm));// 发送消息
		
	}
	
	/**
	 * 获取资产列表：信息
	 */
	public static String getAssetListInfo(List<AssetInfo> list) {
		
		StringBuilder build = new StringBuilder();// 拼接总的指令
		int i=1;//默认u位从： 1开始---设备按起始u排序后， 挨个显示  0--n
		if(list!=null)
		for (AssetInfo asset : list) {// 每个设备信息展示： 假设设备信息有排序==按u位升序
			
			int startu = asset.getStartU();
			int endu = asset.getEndU();
			//for (int i = startu; i < endu; i++) {// 每个设备的 占用u位情况： 占3u-->三行数据显示
				// ====u位    起始u
				StringBuilder buf = FactoryHead.addHead("B110");
				buf.append(FactoryDatas.changeScreenidOrpartNoToHex(3));// 页面id 3,
				buf.append(FactoryDatas.changeScreenidOrpartNoToHex(i));// 控件id
				buf.append(FactoryDatas.addData(startu + "U"));// 第n 个u位数据
				build.append(FactoryFooter.addFooter(buf));
				
				// ====u位    结束u
				StringBuilder buf11 = FactoryHead.addHead("B110");
				buf11.append(FactoryDatas.changeScreenidOrpartNoToHex(3));// 页面id 3,
				buf11.append(FactoryDatas.changeScreenidOrpartNoToHex(i+1));// 控件id
				buf11.append(FactoryDatas.addData(endu + "U"));// 第n 个u位数据
				build.append(FactoryFooter.addFooter(buf11));
				
				
				// ==== 编号
				StringBuilder buf1 = FactoryHead.addHead("B110");
				buf1.append(FactoryDatas.changeScreenidOrpartNoToHex(3));// 页面id 3,
				buf1.append(FactoryDatas.changeScreenidOrpartNoToHex(i + 2));// 控件id
				buf1.append(EmptyUtil.clearNull(FactoryDatas.addData(asset.getAssetNo())));// 数据
				build.append(FactoryFooter.addFooter(buf1));
			
				// ==== 名称
				StringBuilder buf2 = FactoryHead.addHead("B110");
				buf2.append(FactoryDatas.changeScreenidOrpartNoToHex(3));// 页面id 3,
				buf2.append(FactoryDatas.changeScreenidOrpartNoToHex(i + 3));// 控件id
				buf2.append(EmptyUtil.clearNull(FactoryDatas.addData(asset.getAssetName())));// 数据
				build.append(FactoryFooter.addFooter(buf2));
				// ==== 状态
				/*StringBuilder buf3 = FactoryHead.addHead("B110");
				buf3.append(FactoryDatas.changeScreenidOrpartNoToHex(3));// 页面id 3,
				buf3.append(FactoryDatas.changeScreenidOrpartNoToHex(i + 3));// 控件id
				// 状态(1.在库 2.已上架 3.报废 4.出库 5.已验收 )
				int status = asset.getAssetStatus();
				if (status == 1) {
					buf.append(FactoryDatas.addData("在库"));
				} else if (status == 2) {
					buf.append(FactoryDatas.addData("已上架"));
				} else if (status == 3) {
					buf.append(FactoryDatas.addData("报废"));
				} else if (status == 4) {
					buf.append(FactoryDatas.addData("出库"));
				} else if (status == 5) {
					buf.append(FactoryDatas.addData("已验收 "));
				}
				build.append(FactoryFooter.addFooter(buf3));*/
			//} // 内for
				i+=4;
//				break;
		} // 外for

		return build.toString();
	}
	
}
